package org.huawei260.String;

import java.util.Scanner;

/**
 * @Auther: qingle
 * @Date: 2024/10/24-17:05
 * @Description:
 * @version: 1.0
 */
	public class O0052_翻转单词顺序_AI {
		public static void main(String[] args) {
			Scanner scanner = new Scanner(System.in);
			while (scanner.hasNextLine()) { // 检查是否有更多输入行
				String str = scanner.nextLine(); // 读取一行字符串
				int a = scanner.nextInt(); // 读取第一个整数a
				int b = scanner.nextInt(); // 读取第二个整数b
				System.out.println(reverseWords(str, a, b)); // 输出翻转后的字符串
			}
			scanner.close(); // 使用完毕后关闭Scanner
		}
	/**
	 * 翻转字符串中指定区间的单词顺序
	 *
	 * @param str   输入的字符串
	 * @param start 要翻转区间的起始索引（包含）
	 * @param end   要翻转区间的结束索引（包含）
	 * @return 翻转后的字符串
	 */
	private static String reverseWords(String str, int start, int end) {
		String[] words = str.split("\\s+"); // 将字符串按空格分割成单词数组

		StringBuilder result = new StringBuilder(); // 使用StringBuilder来构建结果字符串

		// 将从开始到索引start之前的单词按顺序添加到结果中
		for (int i = 0; i < start; i++) {
			result.append(words[i]).append(" ");
		}

		// 将从索引end到索引start的单词逆序添加到结果中
		for (int i = end; i >= start; i--) {
			result.append(words[i]).append(" ");
		}

		// 将从索引end之后的单词按顺序添加到结果中
		for (int i = end + 1; i < words.length; i++) {
			result.append(words[i]).append(" ");
		}

		// 删除最后一个多余的空格并返回结果
		return result.toString().trim();
	}
	}